package kin.system.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;

public class ClassFileTemplate {
	
	
	/**
	 * 
	 * @param templateDir 模板所在目录
	 * @param templateFileName 模板文件名(加上文件的后缀)
	 * @param templateEncoding 编码方式
	 * @param root 传入的数据
	 * @param  fileDir 指定输出文件所在的目录
	 * @param  fileName 指定输出文件的名称（加上文件的后缀）
	 */
public synchronized static void setDirectoryForTemplateLoading(String templateDir,String templateFileName,String templateEncoding,HashMap root,String fileDir,String fileName){
	
if(templateEncoding==null){
	templateEncoding="utf-8";
}
Configuration cfg = new Configuration();
try {

	cfg.setDirectoryForTemplateLoading(new File(templateDir));
	 Template temp = cfg.getTemplate(templateFileName,templateEncoding);

	    File f=new File(fileDir+"\\"+fileName);
	    Writer out = new OutputStreamWriter(new FileOutputStream(f),templateEncoding);
	    temp.process(root, out);
	    out.flush();
} catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
} catch (TemplateException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
}
}